package com.kingyun.gpsinspection.purificationservice.facade.service.som;

import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.Employee;
import com.kingyun.gpsinspection.purificationservice.facade.model.som.User;

import java.util.List;

/**
 * Created by yangcs on 2017/1/9.
 */
public interface SomUserService {

    /**
     * 用户登录
     * @param loginName     用户名
     * @param password      密码
     * @return
     */
    User login(String loginName, String password);

    /**
     * 验证用户token值
     * @param token
     * @return
     */
    String checkUser(String token);

    /**
     * * 登录/注销成功后更新token值 以及记录日志
     * @param userId    用户ID
     * @param token     token值
     * @param type      1登录，0注销
     * @return
     */
    int updateToken(String userId, String token, int type);

    /**
     * 验证用户名是否存在
     * @param loginName 用户名
     * @return
     */
    int checkLogin(String loginName);

    /**
     * 获取登陆用户
     * @return
     */
    Employee getLoginEmployee();

    /**
     * 根据组织机构id 查询 组织人员
     * @param userId
     * @return
     */
    List<User> getOrgUsers(String userId);

    /**
     * 根据工卡id或者邮箱查询用户
     * @param cardId
     * @return
     */
    User queryByCardId(String cardId);

    /**
     * 获取调度室的人员
     * @return
     */
    List<User> getDdsUsers();

    /**
     * 根据id查询用户
     * @param userId
     * @return
     */
    User queryByUserId(String userId);

    /**
     * 快捷登录
     * @param userId
     * @return
     */
    User loginByUserId(String userId);

    /**
     * 根据ID集合查询名字
     * @param list
     * @return
     */
    String queryUserNamesByIds(List<String> list);
}
